(function () {
  // Где показывать блоки:
  //   'all'     — на всех страницах тренингов школы
  //   'freedom' — только в Free Dom (корневые тренинги из ROOT_IDS и все их подтренинги)
  //   'none'    — нигде
  var SHOW = {
    support: 'all',      // «Служба заботы»
    bonus:   'all'   // «Партнерская программа»
  };
 
  // Корневые тренинги Free Dom: Basic, Premium, Master, Passive
  var ROOT_IDS = ['934421415', '934421469', '934805342', '935238183'];
 
  if (/\/lesson\/view\//.test(location.pathname)) return; // уроки не трогаем
  if (/editMode|editable/.test(location.href)) return;     // не мешаем редактору вида
 
  var m = location.pathname.match(/\/teach\/control\/stream\/view\/id\/(\d+)/);
 
  var SUPPORT_HTML =
    '<a href="https://t.me/zabota_SD_bot" class="support-main-link">' +
      '<div class="support-block-wrapper"><div class="support-border-block">' +
        '<div class="support-header">Служба заботы</div>' +
        '<div class="support-txt">Ответим на любые вопросы</div>' +
        '<div class="support-button">НАПИСАТЬ</div>' +
      '</div></div>' +
    '</a>';
 
  var P = 'stroke="#EDE3D1" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"';
  var BONUS_HTML =
    '<div class="bonus-block-link-wrapper" data-url="/partners">' +
      '<a href="/partners" class="bonus-block-link">' +
        '<div class="bonus-block-wrapper"><div class="bonus-block-border">' +
          '<div class="bonus-icon">' +
            '<svg xmlns="http://www.w3.org/2000/svg" width="34" height="34" viewBox="0 0 44 44" fill="none">' +
              '<path d="M24.3833 14.8683L26.8033 19.7083C27.1333 20.3683 28.0133 21.0283 28.7467 21.1383L33.1284 21.8717C35.9334 22.3483 36.5933 24.365 34.5767 26.3817L31.1667 29.7917C30.5984 30.36 30.2683 31.4784 30.4517 32.285L31.4234 36.52C32.1934 39.8567 30.415 41.1583 27.4634 39.4167L23.3567 36.9783C22.605 36.5383 21.395 36.5383 20.6434 36.9783L16.5367 39.4167C13.585 41.1583 11.8067 39.8567 12.5767 36.52L13.5484 32.285C13.7317 31.4967 13.4017 30.3783 12.8334 29.7917L9.42338 26.3817C7.40671 24.365 8.06667 22.33 10.8717 21.8717L15.2534 21.1383C15.9867 21.01 16.8667 20.3683 17.1967 19.7083L19.6167 14.8683C20.9184 12.2467 23.0817 12.2467 24.3833 14.8683Z" ' + P + '></path>' +
              '<path d="M11 16.5V3.66669" ' + P + '></path>' +
              '<path d="M33 16.5V3.66669" ' + P + '></path>' +
              '<path d="M22 7.33335V3.66669" ' + P + '></path>' +
            '</svg>' +
          '</div>' +
          '<div class="bonus-txt-wrapper">' +
            '<div class="bonus-txt-header">Партнерская Программа</div>' +
            '<div class="bonus-txt">Рекомендуй FreeDom и получай БОНУСЫ!</div>' +
          '</div>' +
          '<hr class="bonus-block-separator">' +
          '<div class="bonus-details"><span class="bonus-link">Узнать подробнее</span></div>' +
        '</div></div>' +
      '</a>' +
    '</div>';
 
  function isFreeDom() {
    if (m && ROOT_IDS.indexOf(m[1]) !== -1) return true;
    // подтренинги любого уровня: в хлебных крошках есть ссылка на корневой тренинг
    var links = document.querySelectorAll('.breadcrumbs a[href*="/stream/view/id/"]');
    for (var i = 0; i < links.length; i++) {
      var id = (links[i].getAttribute('href').match(/\/id\/(\d+)/) || [])[1];
      if (ROOT_IDS.indexOf(id) !== -1) return true;
    }
    return false;
  }
 
  function allowed(mode, freedom) {
    return mode === 'all' || (mode === 'freedom' && freedom);
  }
 
  function run() {
    var freedom = isFreeDom();
 
    // правая колонка: 2-я колонка строки внутри виджета тренинга
    var col = document.querySelector('.xdget-training > .xdget-row > .xdget-col.col-md-4') ||
              document.querySelector('.xdget-training > .xdget-row > .xdget-col:last-child:not(:first-child)');
    if (!col) return;
 
    var box = document.createElement('div');
    box.className = 'fd-side-blocks';
 
    // Порядок в колонке: сначала «Служба заботы», потом «Партнерская программа».
    // Если блок уже стоит в шаблоне вида — переносим его в общую обёртку (без дублей),
    // иначе вставляем новый.
    [
      { mode: SHOW.support, sel: '.support-main-link',         html: SUPPORT_HTML },
      { mode: SHOW.bonus,   sel: '.bonus-block-link-wrapper',  html: BONUS_HTML }
    ].forEach(function (b) {
      var existing = document.querySelector(b.sel);
      if (existing) {
        if (!col.contains(existing)) return;       // стоит где-то вне колонки — не трогаем
        var node = existing;                       // поднимаемся до прямого потомка колонки
        while (node.parentElement && node.parentElement !== col) node = node.parentElement;
        box.appendChild(node);
      } else if (allowed(b.mode, freedom)) {
        box.insertAdjacentHTML('beforeend', b.html);
      }
    });
 
    if (!box.children.length) return;
    col.classList.remove('empty');
    col.insertBefore(box, col.firstChild);
  }
 
  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', run);
  else run();
})();